# 1、编写一个学生方法，产生一堆学生对象（姓名），传入形参控制学生生成数量
"""
from faker import Faker
def student(a):
    b=[]
    for i in range(a):
        c = Faker(locale='zh-cn')
        b.append(c.name())
    return b
print(student(10))
"""
# 2、创建一个方法，用来生成普通人必备的信息：姓名、年龄、住址、身份证号、手机号，随机生成20个写入personinfo.txt里
# 格式：姓名：xxx  年龄：xxx 住址：xxx 身份证号：xxx
"""
from faker import Faker
import random
def con():
    with open("personinfo.txt","a",encoding="utf-8")as f:
        for i in range(20):
            a = Faker(locale='zh-cn')
            b = a.name()
            c = random.randint(1,100)
            d = a.address()
            e = a.ssn(min_age=18, max_age=100)
            z = a.phone_number()
            f.write(f"姓名：{b},年龄：{c},住址：{d},身份证号：{e},手机号；{z}"+"\n")
con()
"""
# 3、文本 student.txt中包含下面的内容
# zhangshan:30
# lisi:50
# wangwu:60
# lifei:70
# 期望能够统计出其中的内容，以dict的形式保存，例如：
# {"zhangshan":30,"lisi":50,"wangwu":60,"lifei":70}
#建立了一个空字典用于收集
"""
result = {}
with open('student.txt','r',encoding='utf-8') as f:
    for i in f.readlines():# 文件每一行数据添加到列表里面去
        result[i.split(':')[0]] = int(i.split(":")[1].strip())
print(result)
"""
# 4、给你一个 非空 整数数组 nums ，除了某个元素只出现一次以外，其余每个元素均出现两次。找出那个只出现了一次的元素。
"""
nums=[11,22,33,77,77,44,33,22,11]
def con(nums)
for i in nums:
    if nums.count(i) == 1:
        return i
print(con([11,22,33,77,77,44,33,22,11]))
"""
"""
def con(nums):
    for i in nums:
        if nums.count(i) == 1:
            print(i)
    return
con([11,22,33,77,77,44,33,22,11,6656])
"""
"""
def con(nums):
    def func(s):
        nums(s)
        for i in s:
            if s.count(i) == 1:
                print(i)
    return func
@con
def cf(t):
    pass
cf([11,22,33,77,77,44,33,22,11])
"""
# 5、输入：["1","a","b","3","5","8","_"] 想要提取里面得数字，并保存到一个列表中
"""
a = ["1", "a", "b", "3", "5", "8", "_"]
b = []
for i in a:
    try:
        b.append(int(i))
    except:
        pass
print(b)
"""
# 6、写函数,函数接收的4个参数分别是:姓名,性别(默认为男),年龄,地址
# 用户通过input输入这4个内容(支持持续输入,Q或q退出),并传递给函数
# 函数接收到这些内容,将其追加到student_msg文件中
# 重点:复习文件操作
"""
def con(name=None,sex="男",age=None,add=None):
    with open("student_msg.txt", "a", encoding="utf-8") as f:
        while True:
            if name is None or age is None or add is None:
                name = input("请输入姓名")
                if name == "q" or name == "Q":
                    break
                age = input("请输入年龄")
                if age == "q" or name == "Q":
                    break
                add = input("请输入地址")
                if add == "q" or name == "Q":
                    break
            else:
                f.write(f"姓名：{name}，性别：{sex}，年龄：{age}，地址：{add}"+"\n")
                break
con()
"""
# 7、打印功能菜单、添加学生信息、删除学生信息、修改学生信息、显示学生信息、退出系统，并且需要接收用户的输入，
# 在根据输入内容调用相应函数实现相应功能（存入文件），模板图如下。每次对学生管理系统发生改动，要写入改动点到log.txt文本中
"""
student_list = []
def student_system():
    while True:
        print("=============================")
        print("学生管理系统")
        print("1.添加学生信息")
        print("2.删除学生信息")
        print("3.修改学生信息")
        print("4.显示所有学生信息")
        print("0.退出系统")
        fs = input("请输入您要选择的功能")
        if fs == "1":
            student_name = input("请输入您要添加的学生姓名")
            if student_name not in student_list:
                student_list.append(student_name)
                with open('stu.txt','w',encoding='utf-8') as f:
                    for i in student_list:
                        f.write(i+ "\n")

                print(f"您添加的{student_name}学生信息已经录入学生管理系统！")
            else:
                print("您要添加的学生已存在！")
                print("本次添加失败！")
        elif fs == "2":
            student_name = input("请输入您要删除的学生姓名")
            if student_name in student_list:
                student_list.remove(student_name)
                print(f"删除{student_name}学生信息成功！")
                with open('stu.txt','w',encoding='utf-8') as f:
                    f.write(i+ "\n")
            else:
                print("您要删除的学生不存在！")
                print("本次删除失败！")
        elif fs == "3":
            student_old_name = input("请输入您要修改的学生姓名")
            student_new_name = input("请输入新的学生姓名")
            if student_old_name in student_list:
                student_list.remove(student_old_name)
                student_list.append(student_new_name)
                print(f"修改{student_old_name}学生成功！现在的名字为：{student_new_name}")
                with open('stu.txt','w',encoding='utf-8') as f:
                    f.write(i+ "\n")
            else:
                print("您要修改的学生不存在！")
                print("本次修改失败！")
        elif fs == "4":
            print("全部的学生信息为：")
            with open('stu.txt', 'r', encoding='utf-8') as f:
                print(f.read())
        elif fs == "0":
            print("退出学生管理系统！")
            print("欢迎您下次再来！")
            break
student_system()
"""
# 8、如今的社交软件层出不穷，虽然功能千变万化，但都具有好友管理系统的基本功能，包括添加好友、删除好友、备注好友、展示好友等。下面是一个简单的好友管理系统的功能菜单（存入文件）
# 好友管理系统中有5个功能，每个功能都对应一个序号，用户可根据提示“请输入您的选项”选择序号执行相应的操作，包括：
# 添加好友：用户根据提示“请输入要添加的好友：”输入要添加好友的姓名，添加后会提示“好友添加成功”。
# 删除好友：用户根据提示“请输入删除好友姓名：”输入要删除好友的姓名，删除后提示“删除成功”。
# 备注好友：用户根据提示“请输入要修改的好友姓名：”和“请输入修改后的好友姓名：”分别输入修改前和修改后的好友姓名，修改后会提示“备注成功”。
# 展示好友：若用户还没有添加过好友，提示“好友列表为空”，否则返回每个好友的姓名。
# 退出：关闭好友管理系统。
# 本任务要求编写程序，模拟实现如上所述的好友管理系统。
# 文件读取要使用相对路径，确保在任何的电脑、终端都可以运行
"""
friend_list = []
def friend_system():
    while True:
        print("=============================")
        print("好友管理系统")
        print("1.添加好友")
        print("2.删除好友")
        print("3.修改好友")
        print("4.显示好友")
        print("0.退出系统")
        fs = input("请输入您要选择的功能")
        if fs == "1":
            friend_name = input("请输入您要添加的好友姓名")
            if friend_name not in friend_list:
                friend_list.append(friend_name)
                with open('friend.txt','w',encoding='utf-8') as f:
                    for i in friend_list:
                        f.write(i+ "\n")

                print(f"您添加{friend_name}好友成功！")
            else:
                print("您要添加的好友已存在！")
                print("本次添加失败！")
        elif fs == "2":
            friend_name = input("请输入您要删除的好友姓名")
            if friend_name in friend_list:
                friend_list.remove(friend_name)
                print(f"删除{friend_name}学生信息成功！")
                with open('friend.txt','w',encoding='utf-8') as f:
                    f.write(i+ "\n")
            else:
                print("您要删除的好友不存在！")
                print("本次删除失败！")
        elif fs == "3":
            friend_old_name = input("请输入您要修改的好友姓名")
            friend_new_name = input("请输入新的好友姓名")
            if friend_old_name in friend_list:
                friend_list.remove(friend_old_name)
                friend_list.append(friend_new_name)
                print(f"修改{friend_old_name}好友名字成功！现在的名字为：{friend_new_name}")
                with open('friend.txt','w',encoding='utf-8') as f:
                    f.write(i+ "\n")
            else:
                print("您要修改的好友不存在！")
                print("本次修改失败！")
        elif fs == "4":
            print("全部的好友信息为：")
            with open('friend.txt', 'r', encoding='utf-8') as f:
                print(f.read())
        elif fs == "0":
            print("退出好友管理系统！")
            print("欢迎您下次再来！")
            break
friend_system()
"""